package com.nshmura.recyclertablayout.demo.customview01;
import com.nshmura.recyclertablayout.RecyclerTabLayout;
import com.nshmura.recyclertablayout.demo.ColorItem;
import com.nshmura.recyclertablayout.demo.DemoColorPagerAdapter;
import com.nshmura.recyclertablayout.demo.R;
import android.graphics.Typeface;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.RecyclerView;
import android.text.SpannableString;
import android.text.style.StyleSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/**
* Created by Shinichi Nishimura on 2015/07/22.
*/
public class DemoCustomView01Adapter extends RecyclerTabLayout.Adapter<DemoCustomView01Adapter.ViewHolder> {
private DemoColorPagerAdapter mAdapater;
public DemoCustomView01Adapter(ViewPager viewPager) {
super(viewPager);
mAdapater = (DemoColorPagerAdapter) mViewPager.getAdapter();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_custom_view01_tab, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
ColorItem colorItem = mAdapater.getColorItem(position);
holder.title.setText(colorItem.name);
holder.color.setBackgroundColor(colorItem.color);
SpannableString name = new SpannableString(colorItem.name);
if (position == getCurrentIndicatorPosition()) {
name.setSpan(new StyleSpan(Typeface.BOLD), 0, name.length(), 0);
}
holder.title.setText(name);
}
@Override
public int getItemCount() {
return mAdapater.getCount();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public View color;
public TextView title;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.title);
color = itemView.findViewById(R.id.color);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getViewPager().setCurrentItem(getAdapterPosition());
}
});
}
}
}